home *** CD-ROM | disk | FTP | other *** search
- /*
- ** InterslipLib - Routines to talk to InterSLIP. Version 1.1, 31-Oct-1995.
- **
- **
- ** (c) Jack Jansen, CWI, 1995 <jack@cwi.nl>
- */
-
- #include <Devices.h>
-
- #include "InterslipLib.h"
-
- static CntrlParam iopb;
- static short refnum = -1;
-
- OSErr is_open()
- {
- if ( refnum >= 0 ) return 0;
- return OpenDriver("\p.InterSLIP", &refnum);
- }
-
- OSErr is_connect()
- {
- iopb.ioCRefNum = refnum;
- iopb.ioVRefNum = refnum;
- iopb.ioCompletion = (UniversalProcPtr) 0;
- iopb.csCode = 2;
- return PBControlImmed((ParmBlkPtr)&iopb);
- }
-
- OSErr is_disconnect()
- {
- iopb.ioCRefNum = refnum;
- iopb.ioVRefNum = refnum;
- iopb.ioCompletion = (UniversalProcPtr) 0;
- iopb.csCode = 3;
- return PBControlImmed((ParmBlkPtr)&iopb);
- }
-
- OSErr is_status(long *status, long *msgseqnum, StringPtr *msg)
- {
- long *csp;
- OSErr err;
-
- iopb.ioCRefNum = refnum;
- iopb.ioVRefNum = refnum;
- iopb.ioCompletion = (UniversalProcPtr) 0;
- iopb.csCode = 4;
- if( err = PBControlImmed((ParmBlkPtr)&iopb) )
- return err;
- csp = (long *)&iopb.csParam;
- *status = csp[0];
- *msgseqnum = csp[1];
- *msg = (unsigned char *)csp[2];
- return 0;
- }
-
- OSErr is_getconfig(long *baudrate, long *flags,
- Str255 idrvnam, Str255 odrvnam, Str255 cfgnam)
- {
- long *csp;
- OSErr err;
-
- iopb.ioCRefNum = refnum;
- iopb.ioVRefNum = refnum;
- iopb.ioCompletion = (UniversalProcPtr) 0;
- iopb.csCode = 6;
- csp = (long *)&iopb.csParam;
- csp[2] = (long)idrvnam;
- csp[3] = (long)odrvnam;
- csp[4] = (long)cfgnam;
- if( err = PBControlImmed((ParmBlkPtr)&iopb) )
- return err;
- *baudrate = csp[0];
- *flags = csp[1];
- return 0;
- }
-
- OSErr is_setconfig(long baudrate, long flags,
- Str255 idrvnam, Str255 odrvnam, Str255 cfgnam)
- {
- long *csp;
- OSErr err;
-
- iopb.ioCRefNum = refnum;
- iopb.ioVRefNum = refnum;
- iopb.ioCompletion = (UniversalProcPtr) 0;
- iopb.csCode = 7;
- csp = (long *)&iopb.csParam;
- csp[0] = baudrate;
- csp[1] = flags;
- csp[2] = (long)idrvnam;
- csp[3] = (long)odrvnam;
- csp[4] = (long)cfgnam;
- return PBControlImmed((ParmBlkPtr)&iopb);
- }
-
-
-